import Cookies from "js-cookie";

const state = {
    loading: true, //加载动画
    showImgViewer: false, //是否显示图片预览
    currentImgViewIndex: "",
    ImgUrlList: ["https://t8.baidu.com/it/u=1212767452,3547987540&fm=218&app=92&f=JPG?w=121&h=75&s=4CB43AD448A9F12672135F49030030F8"], //预览列表

    sidebar: {
        opened: Cookies.get("sidebarStatus") ? !!+Cookies.get("sidebarStatus") : true,
        withoutAnimation: false,
    },
    device: "desktop",
    // language: getLanguage(),
    language: "zh",
    size: Cookies.get("size") || "medium",
};

const mutations = {
    //统一修改state
    SET_STATE(state, param) {
        Object.assign(state, param);
    },
    TOGGLE_SIDEBAR: (state) => {
        state.sidebar.opened = !state.sidebar.opened;
        state.sidebar.withoutAnimation = false;
        if (state.sidebar.opened) {
            Cookies.set("sidebarStatus", 1);
        } else {
            Cookies.set("sidebarStatus", 0);
        }
    },
    CLOSE_SIDEBAR: (state, withoutAnimation) => {
        Cookies.set("sidebarStatus", 0);
        state.sidebar.opened = false;
        state.sidebar.withoutAnimation = withoutAnimation;
    },
    TOGGLE_DEVICE: (state, device) => {
        state.device = device;
    },
    SET_LANGUAGE: (state, language) => {
        state.language = language;
        Cookies.set("language", language);
    },
    SET_SIZE: (state, size) => {
        state.size = size;
        Cookies.set("size", size);
    },
};

const actions = {
    toggleSideBar({ commit }) {
        commit("TOGGLE_SIDEBAR");
    },
    closeSideBar({ commit }, { withoutAnimation }) {
        commit("CLOSE_SIDEBAR", withoutAnimation);
    },
    toggleDevice({ commit }, device) {
        commit("TOGGLE_DEVICE", device);
    },
    setLanguage({ commit }, language) {
        commit("SET_LANGUAGE", language);
    },
    setSize({ commit }, size) {
        commit("SET_SIZE", size);
    },
};

export default {
    namespaced: true,
    state,
    mutations,
    actions,
};
